package com.dao.sale;

import com.model.sale.ContractDraftModel;

import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import com.model.sale.ContractVOModel;
import com.model.sys.SysRole;
import org.apache.ibatis.annotations.Param;

public interface ContractDraftDao {

    /**
     * 新增
     *
     * @author ljz
     * @date 2022/03/10
     **/
    int insert(ContractDraftModel contractDraftModel);
    /**
     * 根据oldDraCode查询长约合同信息
     *
     * @author ljz
     * @date 2022/03/10
     **/
    ContractVOModel selectByOldDraCode(String oldDraCode);
    /**
     * 根据oldDraCode查询长约合同信息LIST
     *
     * @author ljz
     * @date 2022/03/10
     **/
    List<ContractDraftModel> selectListByOldDraCode(String oldDraCode);
    int deleteByDraId(String draId);

    List<ContractDraftModel> selectByDraId(String draId);

    /**
     * 刪除
     *
     * @author ljz
     * @date 2022/03/10
     **/
    int delete(@Param("draId") String draId);

    /**
     * 更新
     *
     * @author ljz
     * @date 2022/03/10
     **/
    int update(ContractDraftModel contractDraftModel);

    /**
     * 查询 根据主键 id 查询
     *
     * @author ljz
     * @date 2022/03/10
     **/
    ContractVOModel load(String draId);


    // 列表
    List<ContractDraftModel> selectList(Map<String, Object> map);

    // 列表总数
    int selectListCount(Map<String, Object> map);
    // 本年起草合同全部总数
    int selectListCountAll();

    SysRole selectRoleByRoleName(String name);

    /**
     * 获取期间内审批的产品吨数
     */
    public BigDecimal getDuringProductApproveWeight(Map<String, String> map);

    public Map<String, String> getSaleOrgByOrgCode(String code);

}